package com.main.common.interfaces;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface PreventShaking {

    /**
     * redis锁前缀 (用于区分方法)
     */
    String prefix() default "";

    /**
     *  用来辨别是否是一次重复的请求，从方法的入参中获取
     */
    String keys();

    /**
     *  参数分隔符
     */
    String delimiter() default "&"; // 参数分隔符

    /**
     * redis锁过期时间  默认3秒
     */
    int expire() default 3;

    /**
     * 提示信息
     */
    String message() default "请求过于频繁，请稍后再试";

}